#ifndef _COMPONENTSERIALIZER_H_
#define _COMPONENTSERIALIZER_H_

// #include <SECore/Ecs/Component.h>
// #include <SESerializeYAML/ModelSerializer.h>

#include <SESerializeYAML/Util.h>
#include <SECore/Serializable.h>

namespace SEngine
{

    template<typename T>
    struct Serializer<Component<T>>
    {
        std::string Serialize(Component<T> & object) {
            return BaseSerialize(static_cast<T&>(object));
        }
            
        void Deserialize(const std::string& str, Component<T> & object) {
            BaseDeserialize(str, static_cast<T&>(object));
        }
    };

} // namespace SEngine

#endif